Skip to content

feat(checkpoints): org_provides + follow_uses + GH-30 demote#70

Merged
CybotTM merged 4 commits intomainfrom
feature/use-org-provides
May 5, 2026
Merged

feat(checkpoints): org_provides + follow_uses + GH-30 demote#70
CybotTM merged 4 commits intomainfrom
feature/use-org-provides

Conversation

@CybotTM
Copy link
Copy Markdown
Member

@CybotTM CybotTM commented May 5, 2026

Summary

  • feat: Add Agent Skills branding #3/04/07 use org_provides for community-health files (SECURITY.md, CONTRIBUTING.md, pull_request_template.md) via gh api repos/{owner}/.github/contents/<path> fallback; fix: align verify script with README merge strategy #7 also accepts both PULL_REQUEST_TEMPLATE.md and lowercase pull_request_template.md (which is what netresearch/.github actually uses).
  • chore: add lint CI #19/20/21 add follow_uses: true so the runner walks one hop into reusable-workflow uses: references — surfaces CodeQL/Scorecard wired through netresearch/.github reusable workflows.
  • refactor: trim SKILL.md for token efficiency #30 (enforce_admins) demoted from error to info because netresearch's org default leaves enforce_admins=false (admins keep bypass for emergency response); description updated to make the policy choice explicit.

Test plan

  • Verified locally with bash /home/sme/p/automated-assessment-skill/main/skills/automated-assessment/scripts/run-checkpoints.sh --force <this-skill>/checkpoints.yaml /home/sme/p/file-search-skill/main
  • All commits SSH-signed and DCO sign-off present

CybotTM added 3 commits May 5, 2026 11:52
GH-3 (SECURITY.md), GH-4 (CONTRIBUTING.md), GH-7 (PR template)
declare org_provides: paths so the runner falls back to
`gh api repos/{owner}/.github/contents/<path>` when the local file
is missing. Repos that opt into org-wide community-health files (the
documented GitHub default) now stop being flagged.

GH-7 also accepts both PULL_REQUEST_TEMPLATE.md and the lowercase
pull_request_template.md (which is what netresearch/.github actually
uses) — GitHub treats these case-insensitively.

GH-5 (CODEOWNERS) intentionally stays local-only — GitHub's review
routing only honours CODEOWNERS in the consuming repo, not the org's
.github fallback.

GH-8 / GH-9 (issue templates) declare org_provides for completeness
but most orgs don't ship default issue templates; for those repos
this still surfaces as a finding. When an org does provide them at
{owner}/.github/.github/ISSUE_TEMPLATE/<name>, the checkpoint passes.

Signed-off-by: Sebastian Mendel <github@sebastianmendel.de>
GH-19, GH-20, and GH-21 now set follow_uses: true so the runner expands
the searched workflow files with the contents of any reusable workflow
referenced via uses: owner/repo/.github/workflows/file.yml@ref (one hop,
fetched via gh api). The pattern then matches against either the local
file OR the upstream content.

This lets repos satisfy CodeQL/Scorecard checks by delegating to a
shared reusable workflow (e.g. netresearch/typo3-ci-workflows/.github/
workflows/security.yml) instead of duplicating the github/codeql-action
and ossf/scorecard-action wiring locally. The semantics are unchanged —
the upstream workflow body must still actually use the named action.

For GH-21 (regex_not for slsa-github-generator), follow_uses prevents
hiding the deprecated generator inside a delegated workflow.

Signed-off-by: Sebastian Mendel <github@sebastianmendel.de>
netresearch's org-wide default leaves enforce_admins=false so admins
retain bypass for emergency response — none of the surveyed mature
repos enables it. Forcing severity=error against this org policy
created persistent red findings everywhere. Demoted to info so the
checkpoint still reminds reviewers but doesn't block as a hard
failure. Description updated to make the policy choice explicit.

Signed-off-by: Sebastian Mendel <github@sebastianmendel.de>
Copilot AI review requested due to automatic review settings May 5, 2026 09:52
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the checkpoints.yaml configuration to support organization-wide file provisioning and reusable workflows. Key changes include the addition of the org_provides field to several file existence checks, the enablement of follow_uses for workflow regex patterns to support one-hop reusable workflow analysis, and a severity downgrade for the enforce_admins check to align with organizational defaults. Review feedback suggests expanding the search paths for pull request templates to include the docs/ directory and correcting the relative paths for issue templates within the org_provides field to ensure they resolve correctly against the root of the .github repository.

Comment thread skills/github-project/checkpoints.yaml Outdated
Comment thread skills/github-project/checkpoints.yaml Outdated
Comment thread skills/github-project/checkpoints.yaml Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the github-project checkpoint definitions to recognize more org-level GitHub defaults and reusable workflow patterns, aiming to reduce false negatives when repositories inherit configuration from an organization-level .github repo or shared workflows.

Changes:

  • Added org_provides fallbacks for several community-health/template checks, including PR and issue templates.
  • Enabled follow_uses: true for CodeQL, Scorecard, and SLSA workflow checks so reusable workflows are inspected one hop deep.
  • Demoted GH-30 (enforce_admins) from an error-level policy signal to informational guidance and updated its description.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread skills/github-project/checkpoints.yaml Outdated
Comment thread skills/github-project/checkpoints.yaml Outdated
Comment thread skills/github-project/checkpoints.yaml
Comment thread skills/github-project/checkpoints.yaml Outdated
- GH-7: add docs/ paths to target list and accept both upper/lowercase
  PULL_REQUEST_TEMPLATE.md in org_provides via brace expansion.
- GH-8/09: drop redundant .github/ prefix from org_provides (path is
  resolved against the {owner}/.github repo root) and accept both .yml
  and .md forms for the org-wide fallback so repos following either
  Netresearch convention pass.
- GH-32: align prompt with GH-30 demote — enforce_admins is advisory
  (info), only required_conversation_resolution remains error-level.
  Prevents repos following the org default (enforce_admins=false) from
  failing GH-32 even though GH-30 was demoted to info.

Signed-off-by: Sebastian Mendel <github@sebastianmendel.de>
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 5, 2026

@CybotTM CybotTM merged commit cdf2158 into main May 5, 2026
15 checks passed
@CybotTM CybotTM deleted the feature/use-org-provides branch May 5, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants